//! # 服务配置模块
//! 
//! 定义服务基本信息配置结构。

use serde::{Deserialize, Serialize};
use std::collections::HashMap;

/// 服务基本配置
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServiceConfig {
    /// 服务名称
    pub name: String,
    
    /// 服务版本
    pub version: String,
    
    /// 服务环境（dev、test、prod）
    pub environment: String,
    
    /// 服务实例ID
    pub instance_id: Option<String>,
    
    /// 服务描述
    pub description: Option<String>,
    
    /// 服务标签
    pub tags: HashMap<String, String>,
}

impl Default for ServiceConfig {
    fn default() -> Self {
        Self {
            name: "rustcloud-service".to_string(),
            version: "1.0.0".to_string(),
            environment: "development".to_string(),
            instance_id: None,
            description: None,
            tags: HashMap::new(),
        }
    }
}